#include <Arduino.h>
#include "SimpleBuzzer.h"

// 定义蜂鸣器引脚
#define BUZZER_PIN 5

// 创建蜂鸣器对象（默认为有源蜂鸣器）
SimpleBuzzer buzzer(BUZZER_PIN);

// 定义简单的旋律 - "生日快乐歌"的前几个音符
int melody[] = {
  262, 262, 294, 262, 349, 330,
  262, 262, 294, 262, 392, 349
};

// 定义每个音符的持续时间（毫秒）
int durations[] = {
  200, 200, 400, 400, 400, 800,
  200, 200, 400, 400, 400, 800
};

void setup() {
  // 初始化串口
  Serial.begin(115200);
  Serial.println("蜂鸣器示例程序启动");
  
  // 初始化蜂鸣器
  buzzer.begin();
  
  // 启动时发出一声短促的提示音
  buzzer.beep(300);
  delay(1000);
}

void loop() {
  // 示例1：单次哔声
  Serial.println("单次哔声");
  buzzer.beep(500);
  delay(1000);
  
  // 示例2：多次哔声
  Serial.println("多次哔声");
  buzzer.multiBeep(3, 200, 200);
  delay(1000);
  
  // 示例3：播放旋律（仅适用于无源蜂鸣器）
  Serial.println("播放旋律（仅无源蜂鸣器有效）");
  buzzer.playMelody(melody, durations, sizeof(melody) / sizeof(melody[0]));
  
  // 等待5秒后重复
  Serial.println("等待5秒...");
  delay(5000);
} 